package com.gpframework.module.ctn.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gpframework.module.ctn.domain.GpCtnOrder;
import com.gpframework.module.ctn.domain.GpReceiptGoods;
import com.gpframework.module.ctn.domain.vo.GpCtnOrderExcel;
import com.gpframework.module.ctn.domain.vo.GpCtnOrderVo;
import com.gpframework.module.ctn.domain.vo.GpSupplierSummaryVo;

import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.List;
/**
 * @ClassName GpCtnOrder
 * @Author gpframework
 * @Date 2024-01-08
 * @Version 1.0.0
 * @Description 定货柜填写Service接口
 */
public interface IGpCtnOrderService extends IService<GpCtnOrder> {

    /**
     * @Description 查询列表返回VO 用于返回给前端的列表接口
     * @Author gpframework
     * @Date 2024-01-08
     * @Param [lqw]
     * @Return List<GpCtnOrderVo>
     */
    List<GpCtnOrderVo> listVo(QueryWrapper<GpCtnOrder> lqw);

    /**
     * @Description 通过查询详情VO 用于返回给前端的列详情接口
     * @Author gpframework
     * @Date 2024-01-08
     * @Param [id]
     * @Return GpCtnOrderVo
     */
    GpCtnOrderVo getVoById(Long id);

    List<GpCtnOrderExcel> gpCtnOrderImport(List<GpCtnOrderExcel> excelList, Long brandId, Long storeId);




    List<GpSupplierSummaryVo> supplierSummary(QueryWrapper<GpReceiptGoods> lqw);

    GpCtnOrderExcel getString(Collection<?> coll, Object ob, InputStream inputStream, String fileName) throws IOException, IllegalAccessException;

    boolean orderLoadList(List<GpCtnOrder> gpCtnOrderList);

    GpCtnOrderExcel getStringPackSack(Collection<?> coll, Object ob, InputStream inputStream, String fileName) throws IOException, IllegalAccessException;
}
